Change Hostname
Description
The change_hostname
function changes the system's hostname. It validates the new hostname, updates the necessary system files (/etc/hostname
and /etc/hosts
), and applies the hostname change immediately. A system reboot is recommended for all changes to fully take effect.
Function Signature:
def change_hostname(new_hostname: str):
Parameters
- new_hostname (
str
): The new hostname to assign to the system.
Returns
- None
Example Usage
change_hostname('new-hostname')
Notes
- The hostname must be alphanumeric and no longer than 63 characters. If it does not meet these criteria, a
ValueError
will be raised. - The
/etc/hostname
file is updated with the new hostname. - The
/etc/hosts
file is modified to update the loopback address (127.0.1.1
) with the new hostname. - The hostname change is applied immediately using the
hostname
command. However, a system reboot is required for all changes to fully take effect.
Error Handling
- If the new hostname is invalid (non-alphanumeric or too long), a
ValueError
will be raised. - If any error occurs during the process of changing the hostname, the exception is caught and an error message is printed.